perm filename ATABLE.SAI[E,ALS] blob sn#121108 filedate 1974-09-25 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	Begin "ATABLE"
C00005 ENDMK
C⊗;
Begin "ATABLE"
DEFINE ⊂="COMMENT",CR="'15",LF="'12",CRLF="CR&LF",TB="'11";
DEFINE TTYUUO="'051000000000",SETACT="'051640000000";
INTEGER WORD,A,B,X;
INTEGER ARRAY BRKTAB[0:3];
LABEL ZOT,FOO;
WHILE TRUE  DO BEGIN
START_CODE;
	MOVEI 0,BRKTAB[0];
	MOVEM 0,A;
	END;

WORD ← -1;	B←A LSH 18;
OUTSTR("A contains"&CVOS(A)&TB&"B contains"&CVOS(B)&CRLF);
QUICK_CODE
	SETACT	B; END;	⊂ This should return the old activation table;
OUTSTR("Initial BRKTAB in"&TB);
FOR X←0 STEP 1 UNTIL 3 DO OUTSTR(CVOS(BRKTAB[X])&TB); OUTSTR(CRLF);
BRKTAB[0]←'400360000000;
BRKTAB[1]←0;
BRKTAB[2]←0;
BRKTAB[3]←'000001000006;
OUTSTR("Set to activate only on NUL,LF,VT,FF,CR,ALT and all αβ controls"&CRLF);
OUTSTR("Disables control-carriage-return from giving back last line typed."&CRLF);

OUTSTR("Special bits only"&TB);
FOR X←0 STEP 1 UNTIL 3 DO OUTSTR(CVOS(BRKTAB[X])&TB); OUTSTR(CRLF);
QUICK_CODE
	SETACT	A; END;	⊂ This should set a new activation table;
FOR X←0 STEP 1 UNTIL 3 DO BRKTAB[X]←0;
OUTSTR("BRKTAB set to zero"&TB);
FOR X←0 STEP 1 UNTIL 3 DO OUTSTR(CVOS(BRKTAB[X])&TB); OUTSTR(CRLF);
QUICK_CODE
	SETACT	B; END;	⊂ This should return the old activation table;
OUTSTR("Activation returned"&TB);
FOR X←0 STEP 1 UNTIL 3 DO OUTSTR(CVOS(BRKTAB[X])&TB); OUTSTR(CRLF&LF);
QUICK_CODE
	TTYUUO	6,WORD; END;	OUTSTR(CVOS(WORD)&TB);
WORD←WORD XOR (1 LSH 24);	OUTSTR(CVOS(WORD)&CRLF);
QUICK_CODE
	TTYUUO	7,WORD; END;
OUTSTR(CRLF);
IF (WORD LAND (1 LSH 24))= 0 THEN OUTSTR("Not in activation mode.") else
				  OUTSTR("Is in activation mode.");
OUTSTR(CRLF&LF);
START_CODE;
	TTYUUO 4,0;
	TTYUUO 1,0;
FOO:	TTYUUO 2,0;
	JRST ZOT;
	TTYUUO 1,0;
	JRST FOO;
ZOT:	END;	⊂ This code does an INCHWL directly as the SAI code does not work;


	END;	END;